from django.http import JsonResponse  # 从Django的http模块导入JsonResponse，用于返回JSON格式的数据
from django.contrib.auth import authenticate, login  # 从Django的auth模块导入authenticate和login，用于用户认证和登录

def signin(request):
    """
    处理用户登录的视图函数。
    
    接收GET请求中的用户名和密码，进行用户认证。
    如果认证成功，则登录用户并返回成功信息；
    如果认证失败，则返回错误信息。
    """
    data = request.GET  # 从请求中获取GET参数
    username = data.get('username')  # 获取用户名
    password = data.get('password')  # 获取密码
    
    # 使用authenticate函数进行用户认证，传入用户名和密码
    # 如果认证成功，返回用户对象；如果认证失败，返回None
    user = authenticate(username=username, password=password)
    
    if not user:
        # 如果用户对象为空，说明认证失败
        return JsonResponse({
            'result': "用户名或密码不正确"  # 返回错误信息
        })
    
    # 如果认证成功，则使用login函数将用户登录到当前会话中
    login(request, user)
    
    # 返回成功信息
    return JsonResponse({
        'result': "success"  # 登录成功
    })